package com.sicheng.lc.lc笔试._360篇;

import java.util.ArrayDeque;
import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/8/27 15:58
 */
public class DNA {
    /**
     * 有一种特殊的DNA，仅仅由核酸A和T组成，长度为n，顺次连接
     *
     * 科学家有一种新的手段，可以改变这种DNA。每一次，科学家可以交换该DNA上两个核酸的位置，
     * 也可以将某个特定位置的核酸修改为另一种核酸。
     *
     * 现在有一个DNA，科学家希望将其改造成另一种DNA，希望你计算最少的操作次数。
     *
     *
     *
     * 输入描述
     * 输入包含两行，第一行为初始的DNA，第二行为目标DNA，保证长度相同。
     *
     * 输出描述
     * 输出最少的操作次数
     *
     *
     * 样例输入
     * ATTTAA
     * TTAATT
     * 样例输出
     * 3
     *
     * 提示
     * 对于100%的数据，DNA长度小于等于100000
     * 样例解释：
     * 1.首先修改第一个位置的核酸（从A修改为T）
     * 2.交换3和5位置的核酸
     * 3.交换4和6位置的核酸
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char[] s1 = sc.nextLine().toCharArray();
        char[] s2 = sc.nextLine().toCharArray();
        ArrayDeque<Integer> a = new ArrayDeque<>();
        ArrayDeque<Integer> t = new ArrayDeque<>();
        for (int i = 0; i < s1.length; i++) {
            if (s1[i] != s2[i]) {
                if (s1[i] == 'A') {
                    a.offer(i);
                } else
                    t.offer(i);
            }
        }

        int res = 0;
        for (int i = 0; i < s1.length; i++) {
            if (s1[i] != s2[i]) {
                if (!a.isEmpty() && !t.isEmpty()) {
                    int y = t.poll();
                    int x = a.poll();
                    char tp = s1[x];
                    s1[x] = s1[y];
                    s1[y] = tp;
                }
                res++;
            }
        }
        System.out.println(res);

    }
}
